Digital motor control circuit

ABSTRACT

A circuit for controlling the velocity and acceleration of a motor. The circuit includes a pulse source for producing pulses each of which represent an increment of velocity and for producing said pulses at a pulse rate proportional to the desired acceleration rate of said motor. The pulse rate controls the acceleration rate of the motor while, at the same time, the number of pulses are received by an up-down counter which stores a count proportional to the actual velocity of the motor. The counter counts the received pulses and either increases its count for acceleration or decreases its count for deceleration. The count within the counter is continuously compared with a count proportional to the desired velocity of the motor and when the counts are equal, indicating that the motor has reached its desired velocity, further acceleration is prevented. The circuit is particularly designed to enable complete binary control of machine tool systems and to permit the generation of a wide variety of curved shapes in cutting or profiling operations.

United States Patent [1 1 Bala et al.

14 Feb. 19, 1974 DIGITAL MOTOR CONTROL CIRCUIT [75] Inventors: John L.Bala, Stow; Peter W. Ford,

Winchester, both of Mass.

[73] Assignee: Itek Corporation, Lexington, Mass.

[22] Filed: July 3, 1972 [21] Appl. No.: 268,387

[52] US. Cl 235/151.l1, 318/571, 318/601, 318/603 [51] Int. Cl. G06f15/46 [58] Field of Search. 235/15l.11; 18/388, 396, 571, 18/601, 603,685, 696

[56] I References Cited UNITED STATES PATENTS 3,668,500 6/1972 kosem318/601 3,344,260 9/1967 Lukens 318/571 X 3,617,715 11/1971Dummermuth.... 235/151.11 3,656,377 4/1972 Kosem 235/151. X 3,351,74611/1967 GOtZ et al. 235/151.11 3,539,896 11/1970 Reuteler et al. 318/571Primary Examiner-Felix D. Gruber Assistant ExaminerJerry Smith Attorney,Agent, or FirmHomer 0. Blair; Robert L. Nathan s; Gerald I-l. Glanzman IUP/LOWN CONTROL VCO GATE 4/ 57 ABSTRACT A circuit for controlling thevelocity and acceleration of a motor. The circuit includes a pulsesource for producing pulses each of which represent an increment ofvelocity and for producing said pulses at a pulse rate proportional tothe desired acceleration rate of said motor. The pulse rate controls theacceleration rate of the motor while, at the same time, the number ofpulses are received by an up-down counter which stores a countproportional to the actual velocity of the motor. The counter counts thereceived pulses and either increases its count for acceleration ordecreases its count for deceleration. The count within the counter iscontinuously compared with a count proportional to the desired velocityof the motor and when the counts are equal, indicating that the motorhas reached its desired velocity, further acceleration is prevented.

The circuit is particularly designed to enable complete binary controlof machine tool systems and to permit the generation of a wide varietyof curved shapes in cutting or profiling operations.

2 c aw tznrawm fi u e .v

COMPARATOR UP/DOWN COUNTER 1 DIGITAL MOTOR CONTROL CIRCUIT BACKGROUND OFTHE INVENTION 1. Field of the Invention The present invention relatesgenerally to a motor control system. More specifically, the presentinvention relates to a circuit for controlling the velocity andacceleration of a motor in amachinetool system.

2. Description of the Prior Art Machine tools are widely used inindustry to perform a variety of manufacturing operations upon a seriesof work pieces sequentially passed through the machine. One operationcommonly performed is that of cutting or shaping a work piece to adesired profile or contour. This is generally accomplished'byindependently controlling the relative movement between the cutting tooland the work piece in two or more component directions such that theresultant movement of the tool will be along a desired path relative tothe work piece.

In manufacturing a wide variety of elements, such as cams, turbineblades and the like, curved surfaces must be generated and severaltechniques are presently employed to accomplish this. One practice is todivide the desired curve into a large number of very short straightsegments and then move the tool in straight lines along each segment soas to approximate the desired curve. By making the segments very smallcompared to the total length of the curve, a fairly accurate curve maybe generated, however, several problems are encountered. Initially,because of the ,many different tool movements needed to form the curve,a substantial amount of input data is required, even for fairly simplecurves. This necessitates complex control programs and also slows downmachine operation. Additionally, this technique requires that the drivemotors be stopped and started continuously and this puts heavy stresseson machine parts making breakdowns common and necessitating frequent,and often expensive repair.

Some improvements over this technique has been obtained by causing thetool to actually move in curved path rather than in short linear steps.This may be accomplished by accelerating or decelerating the tool alongat least one component of its movement so that the resultant motion ofthe tool will be along a curved path. Generally, the acceleration ordeceleration is provided by employing one or more electronic subsystemsthat will respond at given non-linear rates and that may be manually orautomatically switched into the control system at the required time.This technique, however, is still not fully satisfactory. As a rule,such systems usually provide only a very limited number of possibleaccelerations, and since the acceleration (or deceleration) determinesthe shape of the curve, only a few curves can be generated. Thus, when along or somewhat unusual curve must be generated, it is still usuallynecessary to drive the desired curve into a number of incremental curvesthat the machine is capable of producing so that the desired curve canbe approximated. Thus, this technique suffers many of the same problemsof the previous method.

In addition to generating curves, the ability to accelerate ordecelerate a tool during an operation also pro- 'vides an addedparameter which may be employed along with other controls to optimizetool performance. For example, it is'usually desirable to have the toolwork at as fast a rate as possible to minimize operating time, however,at the same time, it may be necessary to slow down the speed of 'thetool as it approaches the end of a particular operation so as to avoidovershoots and abrupt stops which can result in damage to both the tooland the work piece. Also it is desirable to be able to adjust thevelocity and acceleration of the tool as operating conditions, such astool sharpness and the like, change. Clearly, in order to properlyaccommodate all these variables, it is important to accurately controlacceleration and deceleration throughout an operation and to be able totransfer from one velocity to another at the best possible rate. Priorart systems simply do not provide the flexibility to provide suchperformance due to the very limited number of acceleration rates builtinto the system.

SUMMARY'OF A PREFERRED EMBODIMENT OF THE PRESENT INVENTION In accordancewith a preferred embodiment of the present invention, many of thedeficiencies of the prior art have been obviated by providing a novelmotor control system that will permit acceleration to be easilycontrolled and varied .within wide ranges. In accordance with theinvention, binary data indentifying both the desired velocity to beprovided and the acceleration rate desired to achieve that velocity forone component of tool movement are fed into the system. The accelerationdata is converted into a signal to drive an oscillator at a pulse rateproportional to the desired acceleration (or deceleration) and, throughappropriate circuitry, to accelerate (or decelerate) the drive motor ata rate proportional to the pulse rate. At the same time,

each of these pulses also represent an increment of velocity (e.g. 0.02inches/sec) and are counted by an updown counter which contains a countproportional to the present velocity of the tool. The count in thecounter is increased (or decreased) by the number of pulses it receivesand this count is continuously compared with the data representingdesired velocity of the tool and when they are equal,-an appropriatesignal is generated to stop further acceleration of the drive motor.

Several significant advantages are provided by this system. Initially,since both the acceleration and velocity data is in binary form,essentially any number of different velocities and accelerations may beprovided simply by changing the, input data. By employing two or more ofthese control systems to control two or more components of toolmovement, this will enable curves of almost any shape to be readilygenerated and will eliminate or at least greatly reduce the number ofincremental steps that the tool must follow to generate a particularcurve. As a result, the present invention will also enable a substantialreduction in the amount of input data needed to produce a particularcurve and generally will result in faster operation.

The system also provides substantial flexibility not available in theprior art. For example, with the control system of the presentinvention, tool performance may be optimized as to speed of operationwhile at the same time avoiding abrupt steps and starts that can damagethe tool or ruin th work piece being treated.

The system is also especially well adapted for computer control in realtime. For example, acceleration and velocity of the tool may be rapidlyand automatically changed by a computer as operating conditions such astool wear require to provide maximum performance at all times. Thesystem is also fairly simple in design and employs common componentsreadily available. Yet other applications and advantages of the controlsystem according to the present invention ill be explained hereinafter.

BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 schematically illustrates atypical application of the motor control system of the presentinvention.

FIG. 2 illustrates a control system in accordance with a preferredembodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT FIG. 1 schematicallyillustrates a typical application for the control system of the presentinvention. In particular, FIG. 1 shows apparatus that might be used tocut a work piece 11 to a desired peripheral profile. The work piece ispositioned ona table 21 which is, in turn, mounted for movement back andforth along suitable guides 13 as indicated by arrow 14. Movement isaccomplished by means of a motor 16 through a system of gears or by anyother wellknown technique. Similarly, cutting tool 17 is also mounted tobe moved back and forth along suitable guides 18 perpendicular to guides13. A second drive motor 21 is also provided to control the toolmovement as indicated by arrow 19.. By independently and simultaneouslycontrolling both motors 16 and 21, tool 17 and work piece 11 may bemoved in any desired path with respect to each other in the plane of FIG1 and, in this way generate any desired profile on work piece 1 1.Obviously, a third motor could also be provided to' move the tool up anddown along a line perpendicular to the paper relative to the work pieceto perform other types of operations if desired. Yet other types ofrelative movement could similarly be controlled as recognized in theart.

The present invention is concerned with the system for independentlycontrolling the velocity and acceleration of each of the motors 16 and21 in order to cause the tool to move in a predetermined path relativeto the work piece. A preferred embodiment of this control system isillustrated in FIG. 2 it being understood that, in practice, each motorwould have its own control and appropriate monitoring and servoequipment (not shown) to correlate the movement of each motor.

As illustrated in FIG. 2, binary data indentifying both the desiredvelocity to be given a drive motor and the desired acceleration rate inorder to reach that velocity is fed into and stored within an inputbuffer 31. In the embodiment illustrated, buffer 31 is designed to hold16 bits of data, 8 bits for velocity, 1 bit for direction of velocitychange, and 7 bits for acceleration. Such a storage capability forbuffer 31 is obviously examplary only and may be modified as desired,however, with 7 bits of acceleration data, 2 different accelerationrates may be obtained and this is sufficient for most operations andsignificantly more than obtainable in the prior art. (It should beunderstood that the term acceleration" as employed herein is meant toinclude negative acceleration (deceleration) as well as positiveacceleration). The binary data fed into. buffer 31 may come from anyconventional input data source 32 such as magnetic or punched tape froma direct computer output as will be explained in greater detailhereinafter.

The seven bits of acceleration data in buffer 31 are fed on seven lines33 to a digital to analog converter 34 which will produce an outputvoltage on line 36that is proportional to the binary data.This analogsignal is then received by voltage controlled oscillator 37 whichproduces output pulses on line 38 at a pulse rate proprotional to theinput voltage on line 36. Each of these pulses corresponds to apredetermined increment of velocity, for example, 0.02 inches persecond, while at the same time, since the pulse rate is proportional tothe input acceleration data, the pulse rate will be proportional to thedesired acceleration of the particular motor being controlled.Obviously, the proportionality constant can be set to any desired value.

The pulses from VCO 37 are then passed to an updown counter 39 by way ofa gate 41 and up/down counter control 40. This counter is designed tomaintain court proportional to the actual velocity of the drive motorand is designed to count up when the desired velocity exceeds the actualvelocity or down when the derived velocity is less than the actualvelocity. Whether the counter counts up or down is controlled by thedirection of velocity change data on line 42 fed into up/down countercontrol circuit 40 as shown. Counter 39 has eight lines of outputillustrated by reference number 43 and the state of these linesrepresents the binary value current in the counter and hence the actualvelocity of the motor being controlled. These lines are fed to a digitalto analog converter 44 whose output voltage is fed to the motor drivecircuit 46 which drives one of the 'motors of FIG. 1 (e.g. motor 16).

The state of output lines 43 of the counter are also continuously beingmointored by a digital comparator 47 which compares their state with theeight lines of desired velocity data 48 from buffer 31 as shown. Whenthe values (or counts) on lines 43 and 48 are equal, the comparator willsend a signal on line 49 to gate 41 to close it and prevent furtherpulses from the VCO 37 from reaching counter 39.

In order to understand the important features of the present invention,a brief description of its operation will now be given. Suppose that themotor being controlled by the circuit is operating at a certain velocityV, and that it is now desired to change its velocity to a new velocity Vgreater than V Let is also be assumed that it is desired to acceleratethe motor from V, to V at a certain desired rate. This is accomplishedas follows. a

A new work of information is first fed into input buffer 31 from inputsource 32. This new word will identify the new velocity V and theacceleration rate desired to reach that velocity as well as the factthat the desired velocity V is greater than the actual velocity V Thenew velocity data on lines 48 is seen by comparator 47 which determinesthat it is now different from the state of output lines 43 of counter39. Accordingly, it produces a signal on line 49 to open gate 41 whichenables pulses from VCO 37 to be passed to the counter.

At the same time, the new acceleration data in buffer 31 is fed on lines33 to the digital to analog converter 34 which will produce a newvoltage signal on line 36 proportional to the new data. Similarly, thenew signal on line 36 will cause VCO 37 to produce pulses at a new pulserate proportional to the new acceleration. Since gate 41 has been openedby comparator 47, these pulses will be able to reach up-down counter 39and be counted by it. Due to the existence of a signal on line 42indicating that the new velocity V is greater than the velocity V,, thecounter will count up. The rate at which the counter counts up will, ofcourse, be the same as the new pulse rate of VCO 37, and similarly, asthe counter is counting up, the state of its output lines 43 will changeaccordingly. The analog voltage from the D/A converter 44 will alsoincrease as a function of the changing state of lines 43 and motor drive46 will accelerate the motor at the desired rate. The motor willcontinue to accelerate until the state of lines 43 is equal to the stateof lines 48 as seen by comparator 47. Since the pulses representincrements of velocity this will indicate that the velocity of the motorhas reached V At this time, the comparator will close gate 41 preventingfurther pulses from reaching the counter and the voltage to the motordrive 46 and hence, the velocity of the drive motor will remain fixeduntil new input data is fed into buffer 31.

It should be understood that motor drive 46 is considered to include aservo amplifier/driver capable of following an input voltage. If themotor is of the digital type, the motor drive will additionally containa voltage controlled oscillator as understood by those skilled in theart.

From the foregoing it can be seen that with the control circuit of thepresent invention, very accurate control can be maintained over themovement of the tool. The acceleration of the tool from one velocity toanother can be varied within a very wide range dependent only upon theinput data and the storage capabilities of buffer 31. Because of thegreat flexibility of the control system, curves of almost any desiredshape may be readily generated through use of two or morecontrol systemsin conjunction with two or more drive motors. This will permit asubstantial reduction in the complexity ofthe programs needed to producecurves of unusual shape and enable the generated curve to more closelymatch the desired curve.

In addition, the flexibility of the control system according to thepresent invention will permit more effective operation of machine toolsin general. With the present invention, maximum operating speeds can beprovided while, at the same time, wear and tear on machine parts can beminimized by avoiding abrupt stops and starts.

Furthermore, the control system of the present invention is particularlysusceptible to real-time computer control. For example, sensors may beprovided in the machine tool system to monitor conditions such as toolwear and the like and feed this data back to a computer which can thendetermine optimum operating rates for the tool under these conditionsand immediately feed the new data into the control system to obtainthese new rates. In general, the control system provides an additionalparameter which can provide more versatile and effective machine tooloperation.

It should be clearly understood that the control circuit according tothe present invention is not necessarily limited to the preferredembodiment described above. The circuit can readily be adapted for manyother uses and controls, for example, to control the rate of change ofan angle. Furthermore, the circuit design ifself may readily be modifiedas recognized by those skilled in the art. Accordingly, it should beunderstood that the present invention should be limited only as requiredby the scope of the following claims.

We claim:

1. A control system for controlling the the movement of an objectcomprising:

a. an up-down counter for storing a first count proportional to theactual velocity of said object;

b. means for storing a-second count proportional to the desired velocityof said object;

0. a pulse source for producing pulses each of which represent anincrement of velocity and for producing said pulses at a pulse rateproportional to the desired acceleration of said object to reach saiddesired velocity;

d. coupling means for coupling said pulse source to said up-down counterfor changing said first count by an amount proportional to the number ofpulses received from said pulse source, said coupling means includingmeans for causing said up-down counter to increase its count when saidfirst count is less than said second count and to decarese its countwhen said first count is greater than said second count;

e. means for positively accelerating said object when said counterincreases its count and for negatively accelerating said object whensaid counter decreases its count;

f. means for comparing said first count with said second count; and

g. means for disabling said accelerating means when said counts are indesired correspondence.

2. A control system as recited in claim 1 wherein said disabling meanscomprises switch means and wherein said comparing means includes meansfor producing a signal to close said switch means when said first andsecond counts are in desired correspondence.

3. A control system as recited in claim 1 wherein said up-down counterchanges its count at a rate proportional to the pulse rate of said pulsesource and wherein said accelerating means includes means coupled tosaid up-down counter for accelerating said object by an amountproportional to the rate of change of said count.

4. A control system as recited in claim 1 and further including meansfor selectively changing the pulse rate of said pulse source forselectively changing the acceleration of said object.

5. A control system as recited in claim 4 wherein said pulse sourcecomprises an oscillator and wherein said means for selectively changingthe pulse rate of said pulse source comprises means for producing asignal proportional to the desired pulse rate of said oscillator.

6. A control system as recited in claim 5 and further including storagemeans for storing digital data representing the desired acceleration ofsaid object and wherein said pulse rate changing means includes adigital to analog converter for converting said digital data into ananalog signal proportional to the desired acceleration of said object.

7. A control system as recited in claim 6 wherein said up-down counterincludes output means for producing a digital output signal proportionalto the count in said up-down counter and wherein said second countstorage means includes means for storing digital data representing thedesired velocity of said object and wherein said comparing meanscomprises a digital comparator b. means for storing a second countproportional to the desired velocity of said object;

c. a pulse source for producing pulses each of which represent anincrement of velocity and for producing said pulses at a pulse rateproportional to the desired acceleration of said object to reach saiddesired velocity;

d. coupling means for coupling said pulse source to said up-down counterfor changing said first count an amount proportional to the number ofpulses received from said pulse source and for changing said first countat a rate proportional to the pulse rate of said pulse source, saidcoupling means including means for causing said up-down counter toincrease its count when said first count is less than said second countand to decrease its count when said first count is greater than saidsecond count;

e. means coupled to said counter means for accelerating said object byan amount proportional to the rate of change of said first count;

f. means for comparing said first count with 0nd count; and

g'. means for disabling said accelerating means when said first andsecond counts are in desired correspondence.

9. A control system as recited in claim 8 wherein said disabling meanscomprises switch means coupled between said pulse source and saidup-down counter and wherein said comparing means includes means forproducing a signal to close said switch means when said counts are indesired correspondenceuto prevent fur-7 ther changing of said firstcount.

said sec-

1. A control system for controlling the the movement of an objectcomprising: a. an up-down counter for storing a first count proportionalto the actual velocity of said object; b. means for storing a secondcount proportional to the desired velocity of said object; c. a pulsesource for producing pulses each of which represent an increment ofvelocity and for producing said pulses at a pulse rate proportional tothe desired acceleration of said object to reach said desired velocity;d. coupling means for coupling said pulse source to said up-down counterfor changing said first count by an amount proportional to the number ofpulses received from said pulse source, said coupling means includingmeans for causing said up-down counter to increase its count when saidfirst count is less than said second count and to decrease its countwhen said first count is greaTer than said second count; e. means forpositively accelerating said object when said counter increases itscount and for negatively accelerating said object when said counterdecreases its count; f. means for comparing said first count with saidsecond count; and g. means for disabling said accelerating means whensaid counts are in desired correspondence.
 2. A control system asrecited in claim 1 wherein said disabling means comprises switch meansand wherein said comparing means includes means for producing a signalto close said switch means when said first and second counts are indesired correspondence.
 3. A control system as recited in claim 1wherein said up-down counter changes its count at a rate proportional tothe pulse rate of said pulse source and wherein said accelerating meansincludes means coupled to said up-down counter for accelerating saidobject by an amount proportional to the rate of change of said count. 4.A control system as recited in claim 1 and further including means forselectively changing the pulse rate of said pulse source for selectivelychanging the acceleration of said object.
 5. A control system as recitedin claim 4 wherein said pulse source comprises an oscillator and whereinsaid means for selectively changing the pulse rate of said pulse sourcecomprises means for producing a signal proportional to the desired pulserate of said oscillator.
 6. A control system as recited in claim 5 andfurther including storage means for storing digital data representingthe desired acceleration of said object and wherein said pulse ratechanging means includes a digital to analog converter for convertingsaid digital data into an analog signal proportional to the desiredacceleration of said object.
 7. A control system as recited in claim 6wherein said up-down counter includes output means for producing adigital output signal proportional to the count in said up-down counterand wherein said second count storage means includes means for storingdigital data representing the desired velocity of said object andwherein said comparing means comprises a digital comparator forcomparing the digital output of said counter with said second count. 8.A control system for controlling the movement of an object comprising:a. an up-down counter for storing a first count proportional to theactual velocity of said object; b. means for storing a second countproportional to the desired velocity of said object; c. a pulse sourcefor producing pulses each of which represent an increment of velocityand for producing said pulses at a pulse rate proportional to thedesired acceleration of said object to reach said desired velocity; d.coupling means for coupling said pulse source to said up-down counterfor changing said first count an amount proportional to the number ofpulses received from said pulse source and for changing said first countat a rate proportional to the pulse rate of said pulse source, saidcoupling means including means for causing said up-down counter toincrease its count when said first count is less than said second countand to decrease its count when said first count is greater than saidsecond count; e. means coupled to said counter means for acceleratingsaid object by an amount proportional to the rate of change of saidfirst count; f. means for comparing said first count with said secondcount; and g. means for disabling said accelerating means when saidfirst and second counts are in desired correspondence.
 9. A controlsystem as recited in claim 8 wherein said disabling means comprisesswitch means coupled between said pulse source and said up-down counterand wherein said comparing means includes means for producing a signalto close said switch means when said counts are in desiredcorrespondence to prevent further changing of said first count.